Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## rdlc.rdl
Class Message_Indirect

    java.lang.Object
      rdlc.rdl.Declaration_Named
          rdlc.rdl.Declaration_Indirect
              rdlc.rdl.Message_Indirect

All Implemented Interfaces:
  Declaration, Expression, Message

     class Message_Indirect

extends Declaration_Indirect
implements Message

This class exists as a proxy for a named `Message`. It comes into play when in RDL, a `Message` is defined but its actual type is given as a `QualifiedIdentifier` rather than directly. This class simply records the static identifier during parsing, and then dereferences and caches it during `resolve()`.

Version:
  $Revision: 1.18 $
Author:
  Greg Gibeling

Nested Class Summary

Nested classes/interfaces inherited from interface rdlc.rdl.Expression
`Expression.Phase`

Field Summary

Fields inherited from class rdlc.rdl.Declaration_Indirect
`rawTargetID, target`

Fields inherited from class rdlc.rdl.Declaration_Named
`iName, namespace, rawStaticID`

Constructor Summary
`Message_Indirect(RawStaticIdentifier _rawTargetID)`

Method Summary
`Catalog<java.lang.String,Message>` | `getFields()` Simple accessor.
`java.util.Hashtable<java.lang.String,java.lang.Integer>` | `getName2Tag()` Simple accessor.
`java.util.Hashtable<java.lang.Integer,java.lang.String>` | `getTag2Name()` Simple accessor.
`int` | `getTagWidth()` Simple accessor.
`int` | `getWidth()` Simple accessor.
`boolean` | `isVariableWidth()` Simple accessor.
`void` | `resolve(java.util.HashSet<Declaration> markSet, Log errorLog, Expression.Phase phase)` Resolves the static identifier given as part of this indirect declaration.
`java.lang.String` | `toString()` Simple accessor.

Methods inherited from class rdlc.rdl.Declaration_Indirect
`getBase, getLambdaName, getNamedBase, getRequirements, getTarget, getType, typeMatch`

Methods inherited from class rdlc.rdl.Declaration_Named
`getIdentifier, getRawStaticID, setNamespace, setRawStaticID`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Methods inherited from interface rdlc.rdl.Declaration
`getBase, getIdentifier, getLambdaName, getNamedBase, getType, setRawStaticID`

Methods inherited from interface rdlc.rdl.Expression
`getRequirements, setNamespace, typeMatch`

Constructor Detail

### Message_Indirect

    public Message_Indirect(RawStaticIdentifier _rawTargetID)

See Also:
  `Declaration_Indirect.Declaration_Indirect(RawStaticIdentifier)`

Method Detail

### toString

    public java.lang.String toString()

  Simple accessor.

  Overrides:
    `toString` in class `Declaration_Named`
  Returns:
    A human readable representation of this map for debugging.

### getWidth

    public int getWidth()

  Description copied from interface: `Message`
  Simple accessor.

  Specified by:
    `getWidth` in interface `Message`
  Returns:
    The maximum total (including the tag) bitwidth of this message type.
  See Also:
    `Message.getWidth()`

### getTagWidth

    public int getTagWidth()

  Description copied from interface: `Message`
  Simple accessor.

  Specified by:
    `getTagWidth` in interface `Message`
  Returns:
    The bitwidth of the tag for this port.
  See Also:
    `Message.getTagWidth()`

### getName2Tag

    public java.util.Hashtable<java.lang.String,java.lang.Integer> getName2Tag()

  Description copied from interface: `Message`
  Simple accessor.

  Specified by:
    `getName2Tag` in interface `Message`
  Returns:
    A hashtable mapping from field names to tag values.
  See Also:
    `Message.getName2Tag()`

### getTag2Name

    public java.util.Hashtable<java.lang.Integer,java.lang.String> getTag2Name()

  Description copied from interface: `Message`
  Simple accessor.

  Specified by:
    `getTag2Name` in interface `Message`
  Returns:
    A hashtable mapping from tag values to field names.
  See Also:
    `Message.getTag2Name()`

### getFields

    public Catalog<java.lang.String,Message> getFields()

  Description copied from interface: `Message`
  Simple accessor.

  Specified by:
    `getFields` in interface `Message`
  Returns:
    `null` for simple messages, a catalog of the fields otherwise.
  See Also:
    `Message.getFields()`

### isVariableWidth

    public boolean isVariableWidth()

  Description copied from interface: `Message`
  Simple accessor.

  Specified by:
    `isVariableWidth` in interface `Message`
  Returns:
    `true` if the width of the messages can vary at run time.
  See Also:
    `Message.isVariableWidth()`

### resolve

    public void resolve(java.util.HashSet<Declaration> markSet,
                        Log errorLog,
                        Expression.Phase phase)

  Description copied from class: `Declaration_Indirect`
  Resolves the static identifier given as part of this indirect declaration.

  Specified by:
    `resolve` in interface `Expression`
  Overrides:
    `resolve` in class `Declaration_Indirect`
  Parameters:
    `markSet` - Complete hash set of declarations on which the caller depends (including itself).
    `errorLog` - Log of errors to be reported to the user.
    `phase` - The phase of resolution to perform.
  See Also:
    `Expression.resolve(HashSet, Log, Phase)`, `Expression.resolve(HashSet, Log, Phase)`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD